Page({
    data: {
      departments: [], // 科室列表
      currentDeptId: 0, // 当前选中科室ID（0为全部）
      searchKey: '', // 搜索关键词
      expertList: [], // 原始专家列表
      filteredExpertList: [] // 筛选后专家列表
    },
  
    /**
     * 页面加载时初始化数据
     */
    onLoad() {
      this.initData();
    },
  
    /**
     * 初始化科室和专家数据
     */
    initData() {
      // 加载科室数据
      const departments = this.getDepartments();
      // 加载专家数据
      const expertList = this.getExpertList();
  
      this.setData({
        departments,
        expertList,
        filteredExpertList: expertList // 初始显示所有专家
      });
    },
  
    /**
     * Mock 函数：获取科室列表（后续替换为接口请求）
     */
    getDepartments() {
      return [
        { id: 0, name: '全部科室' },
        { id: 1, name: '正畸科' },
        { id: 2, name: '牙周科' },
        { id: 3, name: '儿童牙科' },
        { id: 4, name: '种植牙' },
        { id: 5, name: '补牙修复' },
        { id: 6, name: '口腔颌面外科' },
        { id: 7, name: '口腔黏膜科' }
      ];
    },
  
    /**
     * Mock 函数：获取专家列表（后续替换为接口请求）
     * 补充了 deptId（关联科室）和 hospital（所属医院）字段
     */
    getExpertList() {
      return [
        {
          id: 1,
          avatar: '/assets/images/my/avatar.jpg',
          name: '张正畸',
          title: '主任医师',
          department: '正畸科',
          deptId: 1, // 关联正畸科（id=1）
          hospital: '北京口腔医院',
          skills: ['隐形矫正', '儿童正畸', '牙齿不齐', '地包天矫正'],
          rating: 4.9,
          starCount: 5,
          consultCount: 200
        },
        {
          id: 2,
          avatar: '/assets/images/my/avatar.jpg',
          name: '李牙周',
          title: '副主任医师',
          department: '牙周科',
          deptId: 2, // 关联牙周科（id=2）
          hospital: '上海第九人民医院',
          skills: ['牙周炎治疗', '牙龈出血', '洗牙', '牙周手术'],
          rating: 4.8,
          starCount: 4,
          consultCount: 150
        },
        {
          id: 3,
          avatar: '/assets/images/my/avatar.jpg',
          name: '王儿童',
          title: '主治医师',
          department: '儿童牙科',
          deptId: 3, // 关联儿童牙科（id=3）
          hospital: '广州中山口腔医院',
          skills: ['儿童补牙', '窝沟封闭', '儿童正畸', '乳牙拔除'],
          rating: 4.7,
          starCount: 4,
          consultCount: 180
        },
        {
          id: 4,
          avatar: '/assets/images/my/avatar.jpg',
          name: '刘种植',
          title: '主任医师',
          department: '种植牙',
          deptId: 4, // 关联种植牙（id=4）
          hospital: '深圳口腔医院',
          skills: ['即刻种植', '全口种植', '种植修复', '骨移植'],
          rating: 4.9,
          starCount: 5,
          consultCount: 120
        },
        {
          id: 5,
          avatar: '/assets/images/my/avatar.jpg',
          name: '赵修复',
          title: '副主任医师',
          department: '补牙修复',
          deptId: 5, // 关联补牙修复（id=5）
          hospital: '成都华西口腔医院',
          skills: ['树脂补牙', '根管治疗', '嵌体修复', '烤瓷牙'],
          rating: 4.6,
          starCount: 4,
          consultCount: 160
        },
        {
          id: 6,
          avatar: '/assets/images/my/avatar.jpg',
          name: '陈外科',
          title: '主任医师',
          department: '口腔颌面外科',
          deptId: 6, // 关联口腔颌面外科（id=6）
          hospital: '武汉口腔医院',
          skills: ['智齿拔除', '颌面部囊肿', '唇腭裂修复', '创伤修复'],
          rating: 4.8,
          starCount: 4,
          consultCount: 90
        },
        {
          id: 7,
          avatar: '/assets/images/my/avatar.jpg',
          name: '孙黏膜',
          title: '主治医师',
          department: '口腔黏膜科',
          deptId: 7, // 关联口腔黏膜科（id=7）
          hospital: '西安第四军医大学口腔医院',
          skills: ['口腔溃疡', '扁平苔藓', '白斑', '黏膜纤维化'],
          rating: 4.5,
          starCount: 4,
          consultCount: 70
        },
        {
          id: 8,
          avatar: '/assets/images/my/avatar.jpg',
          name: '周正畸',
          title: '副主任医师',
          department: '正畸科',
          deptId: 1, // 关联正畸科（id=1）
          hospital: '杭州口腔医院',
          skills: ['金属托槽矫正', '陶瓷托槽矫正', '隐形矫正', '成人正畸'],
          rating: 4.7,
          starCount: 4,
          consultCount: 130
        }
      ];
    },
  
    /**
     * 搜索输入事件：实时更新搜索关键词
     */
    onSearchInput(e) {
      this.setData({
        searchKey: e.detail.value.trim()
      });
    },
  
    /**
     * 搜索按钮点击事件：执行筛选逻辑
     */
    onSearch() {
      this.filterExperts();
      // 隐藏键盘
      wx.hideKeyboard();
      // 滚动到专家列表顶部
      wx.pageScrollTo({
        scrollTop: 0,
        duration: 300
      });
    },
  
    /**
     * 科室切换事件
     */
    onDeptChange(e) {
      const deptId = e.currentTarget.dataset.id;
      this.setData({
        currentDeptId: deptId
      }, () => {
        // 切换科室后执行筛选
        this.filterExperts();
        // 滚动到专家列表顶部
        wx.pageScrollTo({
          scrollTop: 0,
          duration: 300
        });
      });
    },
  
    /**
     * 核心筛选函数：根据科室和搜索关键词筛选专家
     */
    filterExperts() {
      const { expertList, currentDeptId, searchKey } = this.data;
      let filteredList = [...expertList];
  
      // 1. 按科室筛选（currentDeptId=0 显示全部）
      if (currentDeptId !== 0) {
        filteredList = filteredList.filter(expert => expert.deptId === currentDeptId);
      }
  
      // 2. 按搜索关键词模糊筛选（不区分大小写）
      if (searchKey) {
        const lowerKey = searchKey.toLowerCase();
        filteredList = filteredList.filter(expert => {
          // 匹配字段：姓名、科室、医院、擅长领域（数组转字符串）
          const matchName = expert.name.toLowerCase().includes(lowerKey);
          const matchDept = expert.department.toLowerCase().includes(lowerKey);
          const matchHospital = expert.hospital.toLowerCase().includes(lowerKey);
          const matchSkills = expert.skills.join(',').toLowerCase().includes(lowerKey);
          
          return matchName || matchDept || matchHospital || matchSkills;
        });
      }
  
      // 更新筛选结果
      this.setData({
        filteredExpertList: filteredList
      });
    },
  
    /**
     * 跳转到专家详情页
     */
    goToExpertDetail(e) {
    //   const expertId = e.currentTarget.dataset.id;
    //   wx.navigateTo({
    //     url: `/pages/expertDetail/expertDetail?id=${expertId}`
    //   });
    wx.navigateTo({
      url: '/pages/business/expertDetail/expertDetail',
    })
    },
  
    /**
     * 跳转到发起咨询页
     */
    goToConsultForm(e) {
    //   const expertId = e.currentTarget.dataset.id;
    //   const expertName = e.currentTarget.dataset.name;
    //   wx.navigateTo({
    //     url: `/pages/consultForm/consultForm?id=${expertId}&name=${expertName}`
    //   });
    wx.navigateTo({
      url: '/pages/business/consultForm/consultForm',
    })
    },

    // 跳转到我的咨询
    goToMyConsult(){
        wx.navigateTo({
          url: '/pages/business/consultRecord/consultRecord',
        })
    },
  
    /**
     * 页面下拉刷新时重新加载数据
     */
    onPullDownRefresh() {
      this.initData();
      wx.stopPullDownRefresh();
    }
  });